0%

(NIPS 2017) Prototypical Networks for Few-shot Learning

Keyword [Prototypical Network]

Snell J, Swersky K, Zemel R. Prototypical networks for few-shot learning[C]//Advances in Neural Information Processing Systems. 2017: 4077-4087.



1. Overview


In this paper

  • proposes Prototypical Network (PN) for few-shot learning
  • extend PN to zero-shot learning
  • euclidean distance better than cosine similarly

1.1. Few-Shot Learning



c. mean of the support examples for each class
  • classifier must generalize to new classes not seen in the training set
  • given only a small number of examples (support set) of each new class

1.1.1. Episode Training (for example)

  • training set. 200 classes, 10 samples/class
  • each episode. randomly select 5 classes
  • 4 samples/class as support set (GT can be used)
  • 6 samples/class as query set (GT only use to calc loss)

1.1.2. Testing

  • test set. new 20 classes, 20 samples/class
  • each episode. randomly select 5 classes
  • 5 samples/class as support set (GT can be used)
  • 15 samples/class as query set (GT can be used, only to calc acc)

1.1.3. One-Shot Learning

  • only one sample/class in support set

1.2. Zero-Shot Learning



c. embed class meta-data v
  • each class comes with meta-data giving a high-level description of the class rather than a small number of labeled examples
  • Matching Network (MN). in one-shot learning, PN=MN



2. Method


2.1. Algorithm



  • zero-shot.


2.2. Episode

  • N_c-way (class), N_S-shot (sample)
  • higher way or shot is beneficial
  • best to train and test with the same shot



3. Experiments


3.1. Datails

3.1.1. Omniglot

  • 28x28, gray
  • 1623 characters, 20 samples/character
  • rotate 90, 180. 270 to get different classes
  • 1,200 x 4 classes as training set
  • 1000 randomly generated episodes from test set


3.1.2. miniImageNet



3.1.3. CUB-200



3.2. Network

  • 4 Conv
  • each as [64, 3x3 Conv; BN; ReLU; Maxpooling]

3.3. Comparison